《九》makefile练习册 大型项目案例 | 您所在的位置:网站首页 › make makefile原理 › 《九》makefile练习册 大型项目案例 |
为了实现一个大型的项目, 通常工程里面会有很多的目录. 每个目录有不同的作用. makefile也是一种代码, 至于怎样实现makefile对大型工程的管理,有很多思路: 大型makefile思路1: 本次用于编写一个通用的多目录下的makefile. 一般会有一个顶层makefile和通用的makefile.build. 然后每个.c文件夹里,会有子目录makefile. 最后,在顶层makefile中编写一个shell遍历程序. 遍历每个子目录,并进入目录运行make命令. 因为各个makefile在执行指令的时候,都用目录,所以不用担心找不到的问题. 大型makefile思路2: 可以参考linux的内核,逐层生成一个打包文件. 采用遍历, 最终生成一个总的打包文件. 然后,通过总的打包文件,生成可执行文件 大型makefile思路3: 可以各层目录下,生成.o文件. 然后把各层的.o文件拷贝到顶层目录. 通过顶层目录,把所有的.o文件进行链接,生成最终的可执行文件. 例如: 项目 |---build文件夹 | |---exes文件夹 | |---huge.exe | |---libs文件夹 | |---makefile | |---make.rule | |---source文件夹 |---lib_hello文件夹 | |---inc文件夹 | | |---helloworld.h | |---src文件夹 | |---helloworld.c | |---makefile |---main_hello文件夹 |---src文件夹 |---deps文件夹 | |---main.dep |---objs文件夹 | |---main.o |---main.c |---makefile 举例: 用思路1和思路2的方式实现的helloworld多目录的应用。 这个例子完全可以应用在其他大型项目中. 例子链接: 链接:https://pan.baidu.com/s/13yVmF5TvKB0M5njj8LkWYA 提取码:1234 链接:https://pan.baidu.com/s/14D79UFrJ9wLWTEpWu1sgpw 提取码:1234 |
CopyRight 2018-2019 实验室设备网 版权所有 |